Методы расширения одномерных динамических массивов

(расширение sequence of T) function Cartesian<T, T1>(b: sequence of T1): sequence of (T, T1);
        Возвращает декартово произведение последовательностей в виде последовательности пар
(расширение sequence of T) function Cartesian<T, T1>(b: sequence of T1): sequence of (T, T1);
        Возвращает n-тую декартову степень множества символов, заданного строкой
function AdjacentFind<T>(Self: array of T; eq: (T,T)->boolean; start: integer := 0): integer;
        Находит первую пару подряд идущих одинаковых элементов, используя функцию сравнения eq, и возвращает индекс первого элемента пары. Если не найден, возвращается -1
function ArrEqual<T>(Self,b: array of T): boolean;
        Возвращает, совпадают ли массивы
function BinarySearch<T>(Self: array of T; x: T): integer;
        Выполняет бинарный поиск в отсортированном массиве
function CartesianPower<T>(Self: array of T; n: integer): sequence of array of T;
        Возвращает n-тую декартову степень множества элементов, заданного массивом
function CartesianPower<T>(Self: sequence of T; n: integer): sequence of array of T;
        Возвращает n-тую декартову степень множества элементов, заданного последовательностью
function CartesianPower(Self: string; n: integer): sequence of string;
        Возвращает n-тую декартову степень множества символов, заданного строкой
function Combinations<T>(Self: array of T; m: integer): sequence of array of T;
        Возвращает все сочетания по m элементов
function Combinations<T>(Self: sequence of T; m: integer): sequence of array of T;
        Возвращает все сочетания по m элементов
function Combinations(Self: string; m: integer): sequence of string;
        Возвращает все сочетания по m элементов
function ConvertAll<T, T1>(Self: array of T; converter: T->T1): array of T1;
        Преобразует элементы массива и возвращает преобразованный массив
function ConvertAll<T, T1>(Self: array of T; converter: (T,integer)->T1): array of T1;
        Преобразует элементы массива и возвращает преобразованный массив
procedure Fill<T>(Self: array of T; x: T);
        Заполняет элементы массива указанным значением
procedure Fill<T>(Self: array of T; f: integer->T);
        Заполняет элементы массива значениями, вычисляемыми по некоторому правилу
procedure FillRandom(Self: array of integer; a,b: integer);
        Заполняет массив случайными значениями в диапазоне от a до b
procedure FillRandom(Self: array of real; a,b: real);
        Заполняет массив случайными значениями в диапазоне от a до b
function Find<T>(Self: array of T; p: T->boolean): T;
        Выполняет поиск первого элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается нулевое значение соответствующего типа
function FindAll<T>(Self: array of T; p: T->boolean): array of T;
        Возвращает в виде массива все элементы, удовлетворяющие предикату
function FindIndex<T>(Self: array of T; p: T->boolean): integer;
        Выполняет поиск индекса первого элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается -1
function FindIndex<T>(Self: array of T; start: integer; p: T->boolean): integer;
        Выполняет поиск индекса первого элемента в массиве, удовлетворяющего предикату, начиная с индекса start. Если не найден, возвращается -1
function FindLast<T>(Self: array of T; p: T->boolean): T;
        Выполняет поиск последнего элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается нулевое значение соответствующего типа
function FindLastIndex<T>(Self: array of T; p: T->boolean): integer;
        Выполняет поиск индекса последнего элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается -1
function FindLastIndex<T>(self: array of T; start: integer; p: T->boolean): integer;
        Выполняет поиск индекса последнего элемента в массиве, удовлетворяющего предикату, в диапазоне индексов от 0 до start. Если не найден, возвращается -1
function High(Self: System.Array);
        Возвращает индекс последнего элемента массива
function IndexMax<T>(Self: array of T; index: integer := 0): integer; where T: IComparable<T>;
        Возвращает индекс первого максимального элемента начиная с позиции index
function IndexMin<T>(Self: array of T; index: integer := 0): integer; where T: IComparable<T>;
        Возвращает индекс первого минимального элемента начиная с позиции index
function IndexOf<T>(Self: array of T; x: T): integer;
        Возвращает индекс первого вхождения элемента или -1 если элемент не найден
function IndexOf<T>(Self: array of T; x: T; start: integer): integer;
        Возвращает индекс первого вхождения элемента начиная с индекса start или -1 если элемент не найден
function Indices<T>(Self: array of T): sequence of integer;
        Возвращает последовательность индексов одномерного массива
function Indices<T>(Self: array of T; cond: T->boolean): sequence of integer;
        Возвращает последовательность индексов элементов одномерного массива, удовлетворяющих условию
function Indices<T>(Self: array of T; cond: (T,integer) ->boolean): sequence of integer;
        Возвращает последовательность индексов элементов одномерного массива, удовлетворяющих условию
function LastIndexMax<T>(Self: array of T; index: integer): integer; where T: IComparable<T>;
        Возвращает индекс последнего минимального элемента в диапазоне [0,index-1]
function LastIndexMax<T>(Self: array of T): integer; where T: IComparable<T>;
        Возвращает индекс последнего максимального элемента
function LastIndexMin<T>(Self: array of T; index: integer): integer; where T: IComparable<T>;
        Возвращает индекс последнего минимального элемента в диапазоне [0,index-1]
function LastIndexMin<T>(Self: array of T): integer; where T: IComparable<T>;
        Возвращает индекс последнего минимального элемента
function LastIndexOf<T>(Self: array of T; x: T): integer;
        Возвращает индекс последнего вхождения элемента или -1 если элемент не найден
function LastIndexOf<T>(Self: array of T; x: T; start: integer): integer;
        Возвращает индекс последнего вхождения элемента начиная с индекса start или -1 если элемент не найден
function Low(Self: System.Array);
        Возвращает индекс первого элемента массива
function Max<T>(Self: array of T): T; where T: IComparable<T>;
        Возвращает максимальный элемент
function Max(Self: array of integer): integer;
        Возвращает максимальный элемент
function Max(Self: array of real): real;
        Возвращает максимальный элемент
function Min<T>(Self: array of T): T; where T: IComparable<T>;
        Возвращает минимальный элемент
function Min(Self: array of integer): integer;
        Возвращает минимальный элемент
function Min(Self: array of real): real;
        Возвращает минимальный элемент
function Permutations<T>(Self: array of T): sequence of array of T;
        Возвращает все перестановки множества элементов, заданного массивом
function Permutations<T>(Self: sequence of T): sequence of array of T;
        Возвращает все перестановки множества элементов, заданного последовательностью
function Permutations<T>(Self: array of T; m: integer): sequence of array of T;
        Возвращает все частичные перестановки из n элементов по m
function Permutations<T>(Self: sequence of T; m: integer): sequence of array of T;
        Возвращает все частичные перестановки из n элементов по m
function Permutations(Self: string): sequence of string;
        Возвращает все перестановки букв в строке в виде последовательности строк
function Permutations(Self: string; m: integer): sequence of string;
        Возвращает все частичные перестановки букв строки по m символов в виде последовательности строк
function RandomElement<T>(Self: array of T): T;
        Возвращает случайный элемент массива
function Shuffle<T>(Self: array of T): array of T;
        Перемешивает элементы массива случайным образом
function Slice<T>(Self: array of T; from, step: integer): array of T;
        Возвращает срез массива от индекса from с шагом step
function Slice<T>(Self: array of T; from, step, count: integer): array of T;
        Возвращает срез массива от индекса from с шагом step длины не более count
procedure Sort<T>(Self: array of T);
        Сортирует массив по возрастанию
procedure Sort(Self: array of string);
        Сортирует массив по возрастанию
procedure Sort<T>(Self: array of T; cmp: (T,T) ->integer);
        Сортирует массив по возрастанию, используя cmp в качестве функции сравнения элементов
procedure Sort<T,T1>(Self: array of T; keySelector: T -> T1);
        Сортирует массив по возрастанию по ключу
procedure Sort<T>(Self: array of T; keySelector: T -> string);
        Сортирует массив по возрастанию по ключу
procedure SortDescending<T>(Self: array of T);
        Сортирует массив по убыванию
procedure SortDescending(Self: array of string);
        Сортирует массив по убыванию
procedure SortDescending<T,T1>(Self: array of T; keySelector: T -> T1);
        Сортирует массив по убыванию по ключу
procedure SortDescending<T>(Self: array of T; keySelector: T -> string);
        Сортирует массив по убыванию по ключу
procedure Transform<T>(Self: array of T; f: T->T);
        Преобразует элементы массива по заданному правилу
procedure Transform<T>(Self: array of T; f: (T,integer)->T);
        Преобразует элементы массива по заданному правилу